package br.com.velp.sudecap.daoimpl;

import br.com.velp.sudecap.comum.SpringConstants;
import br.com.velp.sudecap.dao.DicionarioDAO;
import br.com.velp.sudecap.entidade.Dicionario;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Repository;

/**
 *
 * @author Eduardo
 */
@Repository("dicionarioDAO")
@Lazy(SpringConstants.LAZY_BEANS)
public class DicionarioDAOImpl implements DicionarioDAO {
    
    @Autowired
    private SessionFactory sessionFactory;

    @Override
    public Long salvar(Dicionario value) {
        
        Long id = (Long) getSession().save(value);
        getSession().flush();
        
        return id;
        
    }

    @Override
    public void atualizar(Dicionario value) {
        
        getSession().update(value);
        getSession().flush();
        
    }

    @Override
    public Dicionario obterPorId(Long id) {
        
        return (Dicionario) getSession().get(Dicionario.class, id);
        
    }

    @Override
    public void excluir(Dicionario value) {
        
        getSession().delete(value);
        getSession().flush();
        
    }
    
    public Session getSession() {
        return this.sessionFactory.getCurrentSession();
    }
    
}
